﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using VisualAgile.Model;

namespace VisualAgile.Demo
{
    public class FakeStoryData
    {
        public static List<Story> CreateTestStorys()
        {
            List<Story> storys = new List<Story>() {                 
                DefaultStory(),
                DemoStory(),              
                DemoStory1(),              
                DemoStory2(),              
                DemoStory3(),              
                DemoStory4(),              
                DemoStory5(),              
                DemoStory6(),              
                DemoStory7(),              
                DemoStory8(),              
                DemoStory9(),              
                DemoStory10(),              
                DemoStory11(),              
                DemoStory11(),              
                DemoStory12(),              
                DemoStory13(),              
            };

            for (int i = 0; i < 10; i++)
            {
                Story sampleStory = new Story()
                {
                    StoryID = Guid.NewGuid(),
                    IterationID = "2EBDBC36-3585-47b3-8709-BE3184956938",
                    Name = "New Story",
                    Primary = true,
                    Size = 20.0F,
                    CreateTime = DateTime.Now
                };

                //storys.Add(sampleStory);
            }

            return storys;
        }
        
        public static Story DemoStory()
        {                        
            Story demo = new Story()
            {
                StoryID = new Guid("29DC7A46-52B5-4941-AAE2-F48592847E42"),
                IterationID = "29DC7A46-52B5-4941-AAE2-F48592847E42",
                Name = "demo story",                
                Primary = true,
                Size = 1.0F,      
                CreateTime = DateTime.Now                
            };

            //demo.Feature = FakeFeatureData.DemoFeature();

            return demo;
        }

        public static Story DemoStory1()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("B14BB0D8-0F2B-4e33-894F-7231F5C47148"),
                IterationID = "25A996D0-842A-4bb3-A081-E0B762F9B4AB",
                Name = "Set up continuous integration system",
                Primary = true,
                Color = "#98CDAD",
                Size = 5.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature1();

            return demo;
        }

        public static Story DemoStory2()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("09EE0659-CD88-450c-B673-F5BDF4A71ECB"),
                IterationID = "25A996D0-842A-4bb3-A081-E0B762F9B4AB",
                Name = "Create compilable application skeleton",
                Primary = true,
                Color = "#9BE8B4",
                Size = 5.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature1();

            return demo;
        }

        public static Story DemoStory3()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("828F29EB-F8BE-48cf-AC25-3D4EF803D6D3"),
                IterationID = "25A996D0-842A-4bb3-A081-E0B762F9B4AB",
                Name = "Display current temperature in a simplest possible way",
                Primary = true,
                Color = "#4BF587",
                Size = 13.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature1();

            return demo;
        }

        public static Story DemoStory4()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("993BB85E-AF19-42b3-9AB2-7CC77E5968E9"),
                IterationID = "25A996D0-842A-4bb3-A081-E0B762F9B4AB",
                Name = "Set up the web server for serving weather data",
                Primary = true,
                Size = 3.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature1();

            return demo;
        }

        public static Story DemoStory5()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("D558319B-1675-4937-B9A5-6B3CF3DCA972"),
                IterationID = "25A996D0-842A-4bb3-A081-E0B762F9B4AB",
                Name = "Implement stubby WeatherML support on the server side",
                Primary = true,
                Size = 13.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature1();

            return demo;
        }

        public static Story DemoStory6()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("EEE57EAC-81C9-4cda-9A9D-3497EE655A21"),
                IterationID = "8DD80B5B-CE96-4dd4-882D-2EAA1859C37F",
                Name = "Fetch one day temperature data from the weather provider system",
                Primary = true,
                Color = "#8AAAB7",
                Size = 13.0F,
                CreateTime = DateTime.Now
            };
            
            demo.Feature = FakeFeatureData.DemoFeature3();

            return demo;
        }

        public static Story DemoStory7()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("DF6F84A6-CE0C-4df0-A238-D85F5E8216CD"),
                IterationID = "8DD80B5B-CE96-4dd4-882D-2EAA1859C37F",
                Name = "Fetch rain, snow, etc details from the provider",
                Primary = true,
                Color = "#DF6153",
                Size = 8.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature3();

            return demo;
        }

        public static Story DemoStory8()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("B8838461-8BD2-4b92-9EB4-414E466114F1"),
                IterationID = "8DD80B5B-CE96-4dd4-882D-2EAA1859C37F",
                Name = "Fetch several days data from the provider",
                Primary = true,
                Color = "#3C46A6",
                Size = 5.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature3();

            return demo;
        }

        public static Story DemoStory9()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("DB20FEEF-1936-45b7-AD5E-A8902D2E0FB8"),
                IterationID = "8DD80B5B-CE96-4dd4-882D-2EAA1859C37F",
                Name = "Auto-refresh feature",
                Primary = true,
                Size = 8.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature3();

            return demo;
        }

        public static Story DemoStory10()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("B12CC2D7-AE92-4992-BC6F-5ED1D7290AAF"),
                IterationID = "8DD80B5B-CE96-4dd4-882D-2EAA1859C37F",
                Name = "Implement support for rain, snow, etc. icons",
                Primary = true,
                Size = 2.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature2();

            return demo;
        }

        public static Story DemoStory11()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("39847C16-3189-4496-8163-66C015108DC1"),
                IterationID = "8DD80B5B-CE96-4dd4-882D-2EAA1859C37F",
                Name = "City changing support",
                Primary = true,
                Size = 5.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature2();

            return demo;
        }

        public static Story DemoStory12()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("A9C33F99-D300-4802-B785-BDD03B82E54F"),
                IterationID = "1A8ACB7C-CF3C-4977-81A1-8CCFBFD352FA",
                Name = "Inject simulated ads from the test server",
                Primary = true,
                Size = 20.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature4();

            return demo;
        }

        public static Story DemoStory13()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("E72B66DB-5E93-4a5c-85C6-29315C399DD1"),
                IterationID = "1A8ACB7C-CF3C-4977-81A1-8CCFBFD352FA",
                Name = "Plug real ads in",
                Primary = true,
                Size = 20.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature4();

            return demo;
        }

        public static Story DemoStory14()
        {
            Story demo = new Story()
            {
                StoryID = new Guid("17D767B8-7C02-4bf1-AFC1-384E2B83414A"),
                IterationID = "1A8ACB7C-CF3C-4977-81A1-8CCFBFD352FA",
                Name = "Change current city automatically according to the cell info",
                Primary = true,
                Size = 40.0F,
                CreateTime = DateTime.Now
            };

            demo.Feature = FakeFeatureData.DemoFeature4();

            return demo;
        }

        public static Story DefaultStory()
        {
            Story Default = new Story()
            {
                StoryID = new Guid("BE4B0656-8685-439e-B4EA-66D5C9BA7508"),
                IterationID = "BE4B0656-8685-439e-B4EA-66D5C9BA7508",
                Name = "default Story",
                Primary = true,
                Size = 20.0F,      
                CreateTime = DateTime.Now
            };

            Default.Feature = FakeFeatureData.DefaultFeature();

            return Default;
        }      
    }
}
